# 1. 什么是算法

解决特定问题的步骤就是算法

# 2. 算法的5个特性

输入、输出、有穷性、确定性、可行性

# 3. 算法的评价

分为时间复杂度(消耗的时间)、空间复杂度(消耗的空间)

# 4. 时间复杂度

用 T(n) 来表示时间复杂度,代表算法执行所以消耗的时间。

一般有3种情况:Tmax 、Tmin 、Tavg ,如果没有特别提及,一般看作Tmax

一般 T(n) 算出来是比较复杂的,所以引入 O(n) 大O表达式

常见的时间复杂度量级及对应常见形式:

  • 常数阶O(1):普通语句(非循环等复杂结构)
  • 线性阶O(n):循环语句
  • 平方阶O(n²):双层循环语句
  • 对数阶O(logN):while循环
  • 线性对数阶O(nlogN):for循环内嵌套while循环

# 5. 空间复杂度

用 S(n) 来表示时间复杂度。

一般 S(n) 算出来是比较复杂的,所以引入 O(n) 大O表达式

# 6. 大O表达式

如果存在一个 n0 和 C,使得当 n > n0 时,f(n) <= cg(n),那么就称 g(n) 是 f(n) 的上界,记作 f(n)= O(g(n))

按定义我们不难得到 2n3+n2+1024 = O(n3) = O(n4) = O(n5) = ...

最后更新时间: 3/28/2021, 9:04:52 PM